package service.Ausbilder;

import java.util.List;

import Fiad.FIAD;
import valueobjects.Ausbilder.Ausbilder;
import valueobjects.Betrieb.Betrieb;
import dao.Ausbilder.AusbilderDAO;
import dao.Ausbilder.AusbilderDAOImpl;

/**
 * Implementierung {@link Ausbilder-Service}.
 * 
 * @author Raphael Berger
 * 
 */
public class AusbilderServiceImpl implements AusbilderService {

	private FIAD fiad = null;
	private List<Ausbilder> alleAusbilder;
	private AusbilderDAO dao = new AusbilderDAOImpl();

	public AusbilderServiceImpl(FIAD fiad) {
		this.fiad = fiad;
	}

	@Override
	public List<Ausbilder> holeAlleAusbilder() {
		this.alleAusbilder = this.dao.holeAlleAusbilder();

		if (this.alleAusbilder != null) {
			// Betriebsobjekte werden den Ausbildern zugewiesen.
			for (Ausbilder ausbilder : this.alleAusbilder) {
				for (Betrieb betrieb : this.fiad.getAlleBetriebe()) {
					if (ausbilder.getFk_betrieb() == betrieb.getId()) {
						ausbilder.setBetrieb(betrieb);
					}
				}
			}
		}
		return this.alleAusbilder;
	}

	@Override
	public void speichereAusbilder(Ausbilder ausbilder) {
		this.dao.speichereAusbilder(ausbilder);
		
	}

	@Override
	public void aendereAusbilder(Ausbilder ausbilder) {
		this.dao.aendereAusbilder(ausbilder);
		
	}

	@Override
	public void loescheAusbilder(Ausbilder ausbilder) {
		this.dao.loescheAusbilder(ausbilder.getId());
		
	}

}
